Program Execution on Multicore and Heterogeneous Systems

نویسندگان

  • Gagan Gupta
  • Srinath Sridharan
  • Gurindar S. Sohi
چکیده

As uniprocessor performance fails to improve at the erstwhile rates, computer architects are turning to multicore architectures to stay on the performance curve. Parallel programming holds the key to unlocking the performance benefits of such architectures. Conventional parallel programming models require programmers to abandon the well established sequential programming paradigm, and write parallel programs. Such models are fraught with pitfalls such as deadlocks, livelocks, nondeterminism, etc. Recently Allen et. al. [3] introduced a new dynamic dependence based programming model, called Serialization Sets, which maintains the sequential program semantics and yet delivers performance comparable to the conventional methods. While we extended the Serialization Sets model in [21], to allow programmers to express data dependencies between computations, and extracted additional parallelism, the model still had limited capability to discover parallelism. In this work, we propose a generic dataflow execution model capable of exploiting all possible parallelism, using the same imperative programming framework. We present the details of the implementation and show that the new model improves the performance of the applications we developed by 15%-25% on a general purpose multicore architecture, and at the same time scales well with the increase in the number of processors. We also apply this framework to another class of architecture, GPGPU, and show we are able to derive similar performance benefits while greatly simplifying programming for such architectures.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Clustering Approach to Scientific Workflow Scheduling on the Cloud with Deadline and Cost Constraints

One of the main features of High Throughput Computing systems is the availability of high power processing resources. Cloud Computing systems can offer these features through concepts like Pay-Per-Use and Quality of Service (QoS) over the Internet. Many applications in Cloud computing are represented by workflows. Quality of Service is one of the most important challenges in the context of sche...

متن کامل

Design Flow for GPU and Multicore Execution of Dynamic Dataflow Programs

Dataflow programming has received increasing attention in the age of multicore and heterogeneous computing. Modular and concurrent dataflow program descriptions enable highly automated approaches for design space exploration, optimization and deployment of applications. A great advance in dataflow programming has been the recent introduction of the RVC-CAL language. Having been standardized by ...

متن کامل

Optimization of Asymmetric and Heterogeneous MultiCore

An analytical optimization model, based on Lagrange multipliers, allocates constrained area and power among the cores of either asymmetric or heterogeneous multicore so as to optimize execution time. While in the asymmetric multicore each one of the concurrent workload task may execute on any core, concurrent tasks are pre-assigned to cores in the heterogeneous case. The performance of each cor...

متن کامل

Efficient heterogeneous execution on large multicore and accelerator platforms: Case study using a block tridiagonal solver

The algorithmic and implementation principles are explored in gainfully exploiting GPU accelerators in conjunction with multicore processors on high-end systems with large numbers of compute nodes, and evaluated in an implementation of a scalable block tridiagonal solver. The accelerator of each compute node is exploited in combination with multicore processors of that node in performing block-...

متن کامل

A Study on Adaptive Algorithms for Numerical Quadrature on Heterogeneous GPU and Multicore Based Systems

In this work, a parallel adaptive algorithm for the computation of a multidimensional integral on heterogeneous GPU and multicore based systems is described. Two different strategies have been combined together in the algorithm: a first procedure is responsible for the load balancing among the threads on the multicore CPU and a second one is responsible for an efficient execution on the GPU of ...

متن کامل

The Road to Parallelism Leads Through Sequential Programming

Multicore processors are already ubiquitous and are now the targets of hundreds of thousands of applications. Due to a variety of reasons parallel programming has not been widely adopted to program even current homogeneous, known-resource multicore processors. Future multicore processors will be heterogeneous, be increasingly less reliable, and operate in environments with dynamically changing ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2014